A cloud platform (i.e., a computing platform for cloud computing) may be employed by many users to store, manage, and process data using a shared network of remote servers. Users may develop applications on the cloud platform to handle the storage, management, and processing of data. In some cases, the cloud platform may utilize a multi-tenant database system. Users may access the cloud platform using various user devices (e.g., desktop computers, laptops, smartphones, tablets, or other computing systems, etc.).
In one example, the cloud platform may support customer relationship management (CRM) solutions. This may include support for sales, service, marketing, community, analytics, applications, and the Internet of Things. A user may utilize the cloud platform to help manage contacts of the user. For example, managing contacts of the user may include analyzing data, storing and preparing communications, and tracking opportunities and sales.
The cloud platform may be configured to store and retrieve information for multiple tenants in a distributed database system. Because of the architecture of distributed database systems (e.g., Dynamo database systems), the information for each tenant may be stored in a tenant-specific table within the database system. This architecture may require the purchase and maintenance of individual tables for each tenant. In cases where the cloud platform manages hundreds or thousands of tenants, with wide-ranging levels of data traffic, the fixed cost and maintenance requirements of individual, tenant-specific tables may introduce monetary and computational inefficiencies for the cloud platform operator.